namespace Study206 {

  interface CarPeijian {
    gulu: string
    deng: string
    chemo: string // 车模
  }
  // 定义一个车类
  class Car {
    // readonly brand: string;  // 只读属性 ： 品牌
    // readonly model: string;  // 只读属性 ： 汽车型号



    // constructor(brand: string, model: string) {
    //   // 只读可以再构造函数初始化
    //   this.brand = brand;
    //   this.model = model;
    // }

    // 静态是类本身的自带功能，会单独开辟内存空间，访问使用类名
    static chemo: string


    constructor(
      // static chemo :string, // “static”修饰符不能出现在参数中。ts(1090)
      // readonly 是普通属性的特性 + 静态属性的只读功能
      readonly brand: string,
      readonly model: string,
      readonly peijian: CarPeijian,
    ) {
      // 只读可以再构造函数初始化
      // this.brand = brand;
      // this.model = model;

    }

    Move() {
      // this.brand = '宾利' //无法为“brand”赋值，因为它是只读属性。

      this.peijian.chemo = '朱永康'

    }
  }

  const car = new Car('Tesla', 'Model S', {
    gulu: '赛车轱辘',
    deng: '老毕登',
    chemo: '崔梦娇'
  });
  // console.log(car.brand); // Tesla
  // car.brand = 'BMW'; // Error: Cannot assign to 'brand' because it is a read-only property.

  console.log(car.peijian.chemo);
  car.Move()
  console.log(car.peijian.chemo);


}